Radio frequency identification (RFID) tags are electronic devices that may be affixed to items whose presence is to be detected and/or monitored. A variety of tag classes have been defined by national and international standards bodies (e.g., EPCGlobal and ISO). The tag classes include Class 0, Class 1, and Class 1 Generation 2 (referred to herein as “Gen 2”). The presence of an RFID tag, and therefore the presence of the item to which the tag is affixed, may be checked and monitored wirelessly by devices known as “readers.” Readers typically have one or more antennas transmitting radio frequency signals to which tags respond. Because the reader “interrogates” RFID tags, and receives signals back from the tags in response to the interrogation, the reader is sometimes termed as “reader interrogator” or simply “interrogator.”
With the maturation of RFID technology, efficient communication between tags and interrogators has become a key enabler in supply chain management, especially in manufacturing, shipping, and retail industries, as well as in building security installations, healthcare facilities, libraries, airports, warehouses etc.
In addition, tags include limited amounts of memory for encoding user data. Existing standard data formats (e.g., as specified by ISO/IEC 15961 and 15962) do not offer good compaction efficiency, nor do they offer fast random access to a desired data element. In addition, Gen 2 standards limit the data systems which can be used to label data items. This limits the ability of users of Gen 2 tags to encode data items labeled with GSI Application Identifiers (AIs), whereas others want to use Data Identifiers (DIs), and others will want to intermix the two. Furthermore, the Gen 2 air interface protocol does not provide a good mechanism for accessing a variable amount of memory, without requiring multiple operations of the same tag. In current Gen-2 implementations, the only options are (1) read the entire memory bank which may cause the tag to emit a very large number of useless ‘0’ bits, slowing down the process for reading a population of tags, or (2) read a selected number of memory words. The problem with alternative (2) is that, if too many words are requested, the tag returns an error code with no indication of how many words would have been available had the Read command not asked for too many.
EPCglobal recently announced the Tag Data Standards for Gen 2 RFID tags. However, there is no standard which provides a format definition for user memory bank 11 in the ISO 18000-6C specifications. That is, the Gen 2 format cannot be applied to ISO 18000-6c tags, and vice versa. The existing ISO format requires modification before it can be applied to Gen 2 tags, in part because the ISO method treats all of tag memory as one continuous address space. In contrast, Gen 2 tags segment memory into four mutually-exclusive segments. A serious problem in applying known formats such as ISO to Gen 2 tags is the need to support an efficient Read command (that is, one that ideally transfers no more bits over the air than is necessary to search for the desired tag data elements). In this regard, Gen 2 is a particular challenge, because a Gen 2 Read command has only two “length” options when reading User Memory 400: either a length of “0” is requested (in which case the tag emits the entire contents of that memory bank, even if it is all or mostly unused and empty), or a specific read length is requested, in which case the Read command fails if too many words of data are requested.
To pre-establish the memory capacity of a given Gen 2 tag (tags from different manufactures, or even from the same manufacturer, will have different capacities) extra reads (for example, of a Gen 2 tag's Tag Identifier (TID) segment), plus a table lookup, are required. Moreover, existing format standards such as the ISO standard do not include encoding of the number of bytes of tag memory that currently hold user data. In short, the standard formats do not indicate an optimal read length (based on how many bytes actually contain user data), nor do they even indicate a “safe” length for a Read command of the User Memory 11 (at least, not without an additional Read of the TID bank).
The ISO standards assume explicitly, when considering tags that don't have an explicit tag-wide Directory section, that a reader would read the entire memory contents of each singulated tag in one Read operation, then parse through the copy of the data now in interrogator memory, in order to decode the data and/or identify whether the tag contains specific data ID's of interest to the application. But of course, this basic approach does nothing to minimize the time it takes to transfer bits over the air from the tags.
Thus, what is needed are ways to format tag data to minimize the bits read from the tag in both of the above scenarios thereby increasing the communication speed between a reader and a population of RFID tags.
What is further needed is a data format which enables a reader to quickly read a population of tags, and obtain only pre-selected data items of interest to the application, while minimizing the number of bits transmitted from the tag (in order to speed up the process).